# mixin = Mix-in ： 混入 或者 乱入
# 是一种设计模式

class Animal:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def say(self):
        print(f"我叫{self.name}，今年{self.age}")


class Pig(Animal):

    def special(self):
        print("我的技能是拱大白菜~")


p = Pig("大肠", 5)
p.say()  # 我叫大肠，今年5
p.special()  # 我的技能是拱大白菜~

print("=" * 200)


# TODO 如何让大肠飞起来呢？

class FlyMixin:

    def fly(self):
        print("喔吼，我还会飞～")


class Pig(FlyMixin, Animal):

    def special(self):
        print("我的技能是拱大白菜~")


p = Pig("大肠", 5)
p.say()  # 我叫大肠，今年5
p.special()  # 我的技能是拱大白菜~
p.fly()  # 喔吼，我还会飞～

